OmniFocus 的查找对话框支持使用部分简单正则表达式。 正则表达式是用来表示一组可能字符串的单个字符串。 语法如下所示:
a*-零或多个 a 的实例(尽可能符合最长的字符串)
a*? -零或多个 a 的实例(尽可能符合最短的字符串)
a+-一个或多个 a 的实例(尽可能符合最长的字符串)
a+? -一个或多个 a 的实例(尽可能符合最短的字符串)
a? -零或多个 a 的实例
^-线条的开始位置
$-线条的结束位置
.-任何字符
[a-z]-a 与 z 之间的所有字符
[abc-]-a、b、c 或 -
(abc)-符合 abc 并将其存储为一个成组。 使用“查找”对话中的“选择或替换”弹出式菜单来选择或替换某个成组,而非整个表达式。
\1-第一个匹配的成组文字
a|b-a 或 b
\n-新行
\r-回车符
\t-tab 符
\d-数字
\D-非数字
\w-文字符(字母数字或下划线)
\W-非文字符
\s-空白
\S-非空白
\-略过下一个字符
正则表达式非常流行,您可以在互联网或稍好的图书馆或书店中找到大量相关信息。 这里有一些教您入门的示例:
\s*$-匹配线条结尾端的空白。
<.*?> -匹配以“<”开始且以“>”结尾的字符串,如 XML 标签。
\S+@\S+-随意匹配类似电子邮件地址的项 (anything@anything)。
(19|20)\d\d-\d\d?-\d\d? -匹配 YYYY-MM-DD 格式的日期,介于 1900 和 2099 之间